package VN.EDU.IMIC.PROJECTLEADER.NGUYENVANDOAN.OOP;

public class NHANVAT_GAMES {
    private String TenNhanVat;
    private int CapDo;
    private String KyNang;
    private String BinhKhi;

    // 2. Hàm khởi tạo
    // a. Hàm khởi dựng ko tham số
    public NHANVAT_GAMES() {
        // Sử dụng để khởi tạo thông tin mặc định cho đối tượng
        TenNhanVat = "ABCD";
        KyNang = "Chạy thần tốc";
        BinhKhi = "Gậy";
    }

    // b. Hàm khởi dựng có tham số
    NHANVAT_GAMES(String pTenNhanVat, int CapDo, String KyNang, String BinhKhi) {
        // Sử dụng để khởi tạo thông tin theo tham số truyền vào
        // Cú pháp:
        // <Biến toàn cục> = <Tham số>;
        TenNhanVat = pTenNhanVat;
        this.CapDo = CapDo; // ?
        this.KyNang = KyNang;
        this.BinhKhi = BinhKhi;

        // Thực thi các nghiệp vụ khởi tạo sau:
        KhoiTaoBanDo();
        KhoiTaoAmThanh();
        KhoiTaoConThu();
        KhoiTaoHinhAnh();
    }

    private void KhoiTaoBanDo() {
    }

    private void KhoiTaoConThu() {
    }

    private void KhoiTaoAmThanh() {
    }

    private void KhoiTaoHinhAnh() {
    }

    // 3. Thuộc tính của đối tượng
    /*
     * Là phương thức biểu diễn thông tin cho các Datafield trong lớp đối tượng
     * (Get Or Set)* + get: Trả thông tin datafield hiện thời về cho ViewsApplication. +
     * set: Thiết lập thông tin cho đối tượng qua datafield.
     */
    // Get : Thuộc tính đọc
    public String getTenNhanVat() {
        return TenNhanVat;
    }

    // Set: Thuộc tính ghi
    public void setTenNhanVat(String pTenNhanVat) {
        TenNhanVat = pTenNhanVat;
    }

    // Tự động tạo ra các thuộc tính
    // Right Click --> Source --> Generates Getter and Setter?
    /**
     * @return the capDo
     */
    public int getCapDo() {
        return CapDo;
    }

    /**
     * @param capDo the capDo to set
     */
    public void setCapDo(int capDo) {
        CapDo = capDo;
    }

    /**
     * @return the kyNang
     */
    public String getKyNang() {
        return KyNang;
    }

    /**
     * @param kyNang the kyNang to set
     */
    public void setKyNang(String kyNang) {
        KyNang = kyNang;
    }

    /**
     * @return the binhKhi
     */
    public String getBinhKhi() {
        return BinhKhi;
    }

    /**
     * @param binhKhi the binhKhi to set
     */
    public void setBinhKhi(String binhKhi) {
        BinhKhi = binhKhi;
    }

    // 4. Hành vi của đối tượng
    public String Bay(int tocdo) {
        return "Bay với tốc độ: " + tocdo;
    }
}
